$(function () {
    $.get(
        "./indexServlet/headlineShow",
        function (data) {
            // console.log(data);
            let join = data.map(function (obj) {
                let str = "";
                let list = obj.list;
                for (let i = 0; i < list.length; i++) {
                    let li = list[i];
                    str += `<li><a href="#${li.id}" class="title-keyword">${list[i].f_title}</a></li>`;
                }
                // console.log(str);

                return `<li>
                            <a href="">${obj.fileClass.f_title}</a>
                            <ul>
                                ${str}
                            </ul>
                       </li>
               `;
            }).join("");

            $(".res-nav").append(join);

            $(".title-keyword").click(function (e) {
                e.preventDefault();

                let $1 = $(this);
                if ($1.text() == "全部"){
                    $(".navigation").text("全部");
                }else {
                    let text = $1.text();
                    let text1 = $1.parent().parent().prev().text();
                    let str = text1+" > "+ text;
                    $(".navigation").text(str);
                }

                let $pages = $(".pages");
                console.log($pages);
                for (let i = 1 ; i <= 5 ; i++){
                    if (i==1){
                        $($pages[i-1]).text(i).addClass("act").siblings(".act").removeClass("act");
                    }else {
                        $($pages[i-1]).text(i);
                    }
                }

                let attr = $1.attr("href");
                attr = attr.substring(1);       //获取到当前资源分类的id

                $(".at-present").removeClass("at-present"); //移出类名at-present
                $1.addClass("at-present");     //为当前标题添加类名at-present

                startPaging(attr,1);
            });
        }
    );

    //往下分页页号

    var totalPage = 5;  //总页数

    preparePaging();

    /* 准备分页 */
    function preparePaging() {
        let attr = $(".at-present").attr("href");
        attr = attr.substring(1);       //获取到当前资源分类的id

        let text = $(".act").text();        //获取到当前所在页数

        startPaging(attr,text);
    }

    function startPaging(fileClass,currentPage){
        let json = {
            "fileClass":fileClass,  //当前资源分类的id
            "currentPage":currentPage   //当前所在页数
        };

        $.get(
            "indexServlet/pagingQuery",
            json,
            function (data) {
                // console.log(data);
                let join = data.list.map(function (obj){
                    //获取到文件的类型
                    let lastOf = obj.f_name.lastIndexOf(".");
                    let fileSuffix = obj.f_name.substring(lastOf+1);

                    console.log(fileSuffix);

                    return `<dl class="items">
                                 <dd>
                                      <a href="#${obj.id}" class="click-to-enter">
                                           <div class="size">文件大小:<em>${obj.f_size}M</em></div>
                                           <div class="filename">${obj.f_title}</div>
                                           <div class="score">积分:<em>${obj.f_integral}</em><br/>浏览:<em>${obj.f_view}</em></div>
                                           <img class="thumbimg" src="./images/${fileSuffix}.svg" />
                                      </a>
                                 </dd>
                                 <dt>
                                    <a href="#${obj.id}" class="click-to-enter">${obj.f_title}</a>
                                 </dt>
                            </dl>`;
                }).join("");

                $(".exhibition").html(join);


                //增加文件的浏览数据
                $(".click-to-enter").click(function () {
                    let attr = $(this).attr("href");
                    let fid = attr.substring(1);    //获得文件id

                    $.get(
                        "indexServlet/augmentPageView",
                        {"fid":fid},
                        function (data) {
                            location.href = "./detail.html?id="+data;
                        }
                    );
                });

                totalPage = data.totalPage;

                pageShow(totalPage);
            }
        );
    }

    //下拉列表选择页号的变化事件
    $(".selectPage").change(function (e){
        let val = +$(".selectPage").val();  //获取到选择的页数
        let $pages1 = $(".pages");  //获取到所有以显示的页数
        let $act = +$(".act").text();       //获取到当前正在停留的页数
        let flag = false;    //判断是否 在当前可显示的范围
        $pages1.map(function (i) {
            // console.log($pages1[i]);
            let $1 = $($pages1[i]);
            if ($1.text() == val){
                flag = true;
                $1.addClass("act").siblings(".act").removeClass("act");
            }
        });
        if (!flag){
            if (val > $act){
                for (let i = 0 ; i < 5 ; i++){
                    if (i == 4){
                        $($pages1[i]).text(val-4+i).addClass("act").siblings(".act").removeClass("act");
                    }else {
                        $($pages1[i]).text(val-4+i);
                    }
                }
            }else {
                for (let i = 0 ; i < 5 ; i++){
                    if (i == 0){
                        $($pages1[i]).text(val+i).addClass("act").siblings(".act").removeClass("act");
                    }else {
                        $($pages1[i]).text(val+i);
                    }
                }
            }
        }

        //选择完成重新展示数据
        preparePaging();
    });

    /* 控制页号显示 */
    function pageShow(num){
        // console.log("num:"+num+" ",typeof num);
        let $pages = $(".pages");

        //获得当前所在页号。
        let text = +$(".act").text();

        let str = "";
        for (let i = 0 ; i < num ; i++){
            if (text == i+1){
                str += `<option value="${i+1}" selected>${i+1}/${num}</option>`;
            }else {
                str += `<option value="${i+1}">${i+1}/${num}</option>`;
            }

        }

        $(".selectPage").html(str);

        if (num < 5){
            $pages.show();
            for (let i = 4 ; i >= num ; i--){
                $pages.eq(i).hide();
            }
        }else {
            $pages.show();
        }
    }

    /* 上一页和下一页的方法 */
    $(".page-turning").click(function (){
        let attr1 = $(this).attr("mydata");
        let flag = true;    //判断页号是否发生变化
        // console.log(attr1);
        if (attr1 == "上一页"){
            let prev = $(".act").prev();
            if (prev.attr("mydata") == null){
                $(".act").removeClass("act").prev().addClass("act");
            }else {
                let text = $(".act").text();
                if (text > 1){
                    let $pages = $(".pages");
                    for (let i = 0 ; i < $pages.length ; i++){
                        let $i = $($pages[i]);
                        let text1 = +$i.text();
                        $i.text(text1-1);
                    }
                }else {
                    flag = false;   //页号没有变化
                }
            }
        }else {
            let next = $(".act").next();
            if (next.attr("mydata") == null && !next.is(":hidden")){
                $(".act").removeClass("act").next().addClass("act");
            }else {
                let text = $(".act").text();
                if (text < totalPage){
                    let $pages = $(".pages");
                    for (let i = 0 ; i < $pages.length ; i++){
                        let $i = $($pages[i]);
                        let text1 = +$i.text();
                        $i.text(text1+1);
                    }
                }else {
                    flag = false;   //页号没有变化
                }
            }
        }

        //更改对应的页号
        selectElem();

        if (flag){
            //页号变化重新展示数据
            preparePaging();
        }
    });

    /* 点击页号，对应页号变化颜色 */
    $(".pages").click(function (){
        $(this).addClass("act").siblings(".act").removeClass("act");
        //选择完成重新展示数据
        preparePaging();

        //更改对应的页号
        selectElem();
    });

    /* 下拉列表的页号选择改变 */
    function selectElem(){
        let text = +$(".act").text();

        $(".selectPage").val(text);
    }
});